#ifndef WEREVAMPCLIENT_H
#define WEREVAMPCLIENT_H

#include <QWidget>
#include <QTcpSocket>

#include "gamemap.h"
#include "ia.h"
#include "cmd.h"

namespace Ui {
class WereVampClient;
}

class WereVampClient : public QWidget
{
    Q_OBJECT
    
public:
    explicit WereVampClient(QWidget *parent = 0);
    ~WereVampClient();


signals:
    void beginTurn();
    void beginABTurn();

private slots:
    void connectToGame();
    void onConnection();
    void sendCmd();
    void sendCmd(Cmd* cmd);
    void receiveCMD();
    void displayError(QAbstractSocket::SocketError socketError);
    void on_IAButton_clicked() { emit beginABTurn(); }
    void on_threatCheckBox_stateChanged(int state);
    
private:
    Ui::WereVampClient *ui;

    QTcpSocket *tcpSocket;
    QString currentFortune;
    quint16 blockSize;

    GameMap* _map;
    monsterRace _race;
    QPoint _home;

    //QList<Stack> _stacks;

    IA* _brain;

    MapMode _drawMap;

    //QNetworkSession *networkSession;
};

#endif // WEREVAMPCLIENT_H
